package day15.socketdemo03;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.InetAddress;
import java.net.MulticastSocket;

/**
 * @author Xiao
 * @date 2021/8/8
 */
public class ServerDemo03 {
    /**
     * 组播接收端：
     * 	创建接收端Socket对象(MulticastSocket)；
     * 	创建一个箱子,用于接收数据；
     * 	把当前计算机绑定到组播地址；
     * 	将数据接收到箱子中；
     * 	解析数据包,并打印数据；
     * 	释放资源。
     */
    public static void main(String[] args) throws IOException {
        MulticastSocket ms = new MulticastSocket(10000);
        byte[] bytes = new byte[1024];
        DatagramPacket dp = new DatagramPacket(bytes, bytes.length);
        //把当前计算机绑定一个组播地址，表示添加到这一组中
        ms.joinGroup(InetAddress.getByName("224.0.1.0"));
        ms.receive(dp);
        byte[] data = dp.getData();
        int length = dp.getLength();
        System.out.println(new String(data,0,length));
        ms.close();
    }
}
